//自动补零
function num_two(s)
{
	return (parseInt(s)>9)?s:'0'+s;
}

/**
 * 根据时间戳获取年、月、日
 * @param String str 时间戳
 * @param Boolean f 是否在原来的基础上*1000，true要*，false或不填就不*
 */
function timetostr(str,f)
{
	var t=(f)?parseInt(str):parseInt(str)*1000;
	var datetime=new Date(t);
	var y=datetime.getFullYear();
	var m=num_two(datetime.getMonth()+1);
	var d=num_two(datetime.getDate());
	var hour=num_two(datetime.getHours());
	var min=num_two(datetime.getMinutes());
	var sec=num_two(datetime.getSeconds());
	return y+"-"+m+"-"+d+" "+hour+":"+min+":"+sec;
}

/**
 * [dotTpl doT模板获取数据]
 * @ hongwei
 * @param  {[type]} dotId  [相应数据的doT模板ID-必须]
 * @param  {[type]} htmlID [相应html的ID-必须]
 * @param  {[type]} data_  [ajax获取]
 * @return {[type]}        [description]
 * @link http://www.kancloud.cn/hongweizhiyuan/apicloud_function/274615
 */
function dotTpl(dotId,htmlID,data_){
	var apendText = $api.byId(dotId).text;
	var fnapendText = doT.template(apendText);
	var html = fnapendText(data_);
	var list = $api.byId(htmlID);
	$api.html(list, html);
}

/**
 * [isJson 判断是否是json对象]
 * @param  {[object]}  obj [对象]
 * @return {Boolean}
 */
function isJson(obj) {
	var isJson = typeof(obj) == "object" && Object.prototype.toString.call(obj).toLowerCase() == "[object object]" && !obj.length;
	return isJson;
}

/**
 * [strToJson json字符串转json对象]
 * @param  {[string]} s [json字符串]
 * @return {[object}    [json对象]
 */
function strToJson(s) {
	var json = eval('(' + s + ')');
	return json;
}

//显示模态加载
function showProgress() {
	api.showProgress({
		animationType: 'zoom',
		title: '少女祈祷中...',
		text: 'Aragaki...',
		modal: true
	});
}

//隐藏模态加载
function hideProgress() {
	api.hideProgress();
}

//网络不好的情况下统一定义的错误
function netError(callback) {
	api.toast({
		msg: '网络不好,请稍后再试',
		duration: 2000,
		location: 'bottom'
	});
	if (isDefine(callback)) {
		callback();
	}
}

/**
 * [showToast 显示模态提示]
 * @param  {[string]} msg      [消息内容]
 * @param  {[string]} duration [模态框显示时间]
 * @param  {[string]} location [模态框显示位置,top/middle/bottom]
 */
function showToast(msg, duration, location) {
	var msg = msg ? msg : '错误';
	var duration = duration ? duration : '2000';
	var location = location ? location : 'middle';
	api.toast({
		msg: msg,
		duration: duration,
		location: location
	});
}

/**
 * [runAjax ajax函数封装]
 * @param   {[string]}   serverUrl   [服务器接口完整地址]
 * @param   {[object]}   data        [传输的json对象数据]
 * @param   {Function}   callback    [执行update_data函数来更新模板数据]
 * data 应为对象类型，不是的话方法中也会自动转换
 */
function runAjax(serverUrl, data, callback) {
	if (!isJson(data)) {
		data = strToJson(data);
	}
	showProgress(); //加载模态
	api.ajax({
		url: serverUrl,
		method: 'post',
		timeout: 30,
		dataType: 'json',
		returnAll: false,
		data: data
	}, function(ret, err) {
		hideProgress();
		api.refreshHeaderLoadDone();
		// alert($api.jsonToStr(err));
		if (ret) {
			callback(ret)
		} else {
			netError(); //请求失败
		}
	});
}

function decodeHTMLEntities(text) {
    var entities = [
        ['amp', '&'],
        ['apos', '\''],
        ['#x27', '\''],
        ['#x2F', '/'],
        ['#39', '\''],
        ['#47', '/'],
        ['lt', '<'],
        ['gt', '>'],
        ['nbsp', ' '],
        ['quot', '"']
    ];

    for (var i = 0, max = entities.length; i < max; ++i)
        text = text.replace(new RegExp('&'+entities[i][0]+';', 'g'), entities[i][1]);

    return text;
}
